package com.twb.system.service;

import com.twb.core.base.entity.TwbPageInfo;
import com.twb.core.base.service.IBaseService;
import com.twb.fileCenter.entity.vo.ExportExcelVo;
import com.twb.system.entity.twbEnclosure.TwbEnclosure;
import com.twb.system.entity.twbEnclosure.dto.ListServerFilesDto;
import com.twb.system.entity.twbEnclosure.dto.SearchTwbEnclosureDto;
import com.twb.system.entity.twbEnclosure.vo.BizUpdateTwbEnclosureVo;
import com.twb.system.entity.twbEnclosure.vo.SaveTwbEnclosureVo;
import com.twb.system.entity.twbEnclosure.vo.SearchTwbEnclosureVo;
import com.twb.system.entity.twbEnclosure.vo.UpdateTwbEnclosureByIdVo;
import java.util.List;
import javax.servlet.http.HttpServletRequest;

/**
 * @author DHL
 * @ClassName ITwbEnclosureService
 * @Description 附件信息 service接口
 * @date 2020-08-24 10:52:32
 */
public interface ITwbEnclosureService extends IBaseService<TwbEnclosure> {

  /**
   * @param vo
   * @return
   * @Title searchTwbEnclosure
   * @Description 分页查询
   * @author DHL
   * @date 2020-08-24 10:52:32
   */
  public TwbPageInfo<SearchTwbEnclosureDto> searchTwbEnclosure(SearchTwbEnclosureVo vo);

  /**
   * @param vo
   * @return
   * @Title searchTwbEnclosure
   * @Description 查询集合
   * @author DHL
   * @date 2020-08-24 10:52:32
   */
  public List<SearchTwbEnclosureDto> searchTwbEnclosureList(SearchTwbEnclosureVo vo);

  /**
   * @param vo
   * @return
   * @Title saveTwbEnclosure
   * @Description 保存信息
   * @author DHL
   * @date 2020-08-24 10:52:32
   */
  public TwbEnclosure saveTwbEnclosure(SaveTwbEnclosureVo vo);

  /**
   * @param vo
   * @return
   * @Title updateTwbEnclosureById
   * @Description 更新信息
   * @author DHL
   * @date 2020-08-24 10:52:32
   */
  public int updateTwbEnclosureById(UpdateTwbEnclosureByIdVo vo);

  /**
   * @param id
   * @return
   * @Title deleteTwbEnclosureById
   * @Description 删除信息
   * @author DHL
   * @date 2020-08-24 10:52:32
   */
  public int deleteTwbEnclosureById(String id);

  /**
   * @param ids
   * @return
   * @Title deleteTwbEnclosureByIds
   * @Description 批量删除信息
   * @author DHL
   * @date 2020-08-24 10:52:32
   */
  public int deleteTwbEnclosureByIds(String ids);

  /**
   * @param ids
   * @return
   * @Title logicBatchDeleteTwbEnclosureByIds
   * @Description 批量逻辑删除
   * @author DHL
   * @date 2020-08-24 10:52:32
   */
  public int logicBatchDeleteTwbEnclosureByIds(String ids);

  /**
   * @param exportExcelVo
   * @param searchVo
   * @return
   * @Title exportExcel
   * @Description 导出excel
   * @author DHL
   * @date 2020-08-24 10:52:32
   */
  public void exportExcel(HttpServletRequest request, ExportExcelVo exportExcelVo, SearchTwbEnclosureVo searchVo);


  /**
   * @param searchTwbEnclosureVo
   * @return
   * @Title listServerFiles
   * @Description 查询附件
   * @author DHL
   * @date 2021年2月3日 下午1:38:13
   */
  public List<ListServerFilesDto> listServerFiles(SearchTwbEnclosureVo searchTwbEnclosureVo);

  /**
   * @param vo
   * @return
   * @Title bizEnclosure
   * @Description 业务信息更新到附件表
   * @author DHL
   * @date 2020年11月11日 下午1:11:15
   */
  public boolean bizUpdateToEnclosure(BizUpdateTwbEnclosureVo vo);

  /***
   * @Title: bizUpdateToEnclosure
   * @Description: 业务信息更新到附件表
   * @Param: bizId
   * @Param: bizType
   * @Param: bizTypeName
   * @Param: fileIds
   * @Param: c
   * @Return: boolean
   * @Author: chyf
   * @Date: 2022/9/27 11:27
   */
  public boolean bizUpdateToEnclosure(String bizId, String fileIds, Class c);

  /**
   * @param vo
   * @return
   * @Title bizAddToEnclosure
   * @Description 根据附件ID新增记录，并与业务信息挂接
   * @author DHL
   * @date 2021年11月17日 上午11:47:44
   */
  public boolean bizAddToEnclosure(BizUpdateTwbEnclosureVo vo);
}
